#include "i386/kernel/screen.h"
#include "common/linkage.h"
#include "linux/interrupt.h"
#include "linux/irq.h"

// 之所以使用 fastcall 是因为这个函数在 entry.S 当中的调用方式相关，
// entry.S 调用时将通过eax来传递 regs 的指针
fastcall u32 do_IRQ(struct pt_regs *regs) {
  puts("do_IRQ");

  int irq = regs->orig_eax & 0xff;

  // irq_enter();
  // __do_IRQ 定义在linux当中，是一个各个平台通用的中断处理函数
  __do_IRQ(irq, regs);  
  // irq_exit();

  return 1;
}
